﻿<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>职位分类修改</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@3.3.4/dist/vue.global.min.js"></script>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <link rel="stylesheet" href="https://unpkg.com/element-plus/dist/index.css">
    <script src="https://unpkg.com/element-plus/dist/index.full.min.js"></script>
    <style>
        .nr div {
            margin: 15px;
            margin-left: 0px;
        }
    </style>
</head>
<body>
    <div id="app">
        <div>您正在做的业务是：人力资源--客户化设置--人力资源档案管理设置--职位分类设置--职位分类修改</div>
        <div class="nr">
            <div>
                职位分类编号： <input disabled type="text" v-model="positionId" />
            </div>
            <div>
                职位分类名称： <input type="text" v-model="positionName" />
            </div>
            <div>
                <el-button type="primary" v-on:click="updatePosition">修改</el-button>
                <el-button type="primary" v-on:click="Ret">返回</el-button>
            </div>
        </div>
    </div>

    <script>
        const { createApp, ref, onMounted } = Vue;

        const app = createApp({
          setup() {
            const positionId = ref('');
            const positionName = ref('');

            // 获取URL参数
            const getUrlParam = (name) => {
              const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
              const r = window.location.search.substr(1).match(reg);
              if (r != null) return decodeURIComponent(r[2]);
              return null;
            };

            // 页面加载时获取职位分类信息
            onMounted(() => {
              const id = getUrlParam('id');
              if (id) {
                positionId.value = id;
                loadPositionInfo(id);
              } else {
                ElementPlus.ElMessage.error('未获取到职位分类ID');
                setTimeout(() => {
                  Ret();
                }, 1500);
              }
            });

            // 加载职位分类信息
            const loadPositionInfo = (id) => {
              axios.get(`/ZWFLSZ/Get/${id}`)
                .then(res => {
                  if (res.data && res.data.item) {
                    positionName.value = res.data.item.major_kind_name;
                  } else {
                    ElementPlus.ElMessage.error('获取职位分类信息失败');
                  }
                })
                .catch(err => {
                  console.error(err);
                  ElementPlus.ElMessage.error('获取职位分类信息失败');
                });
            };

            // 提交修改
            const updatePosition = () => {
              if (!positionName.value.trim()) {
                ElementPlus.ElMessage.warning('职位分类名称不能为空');
                return;
              }

              ElementPlus.ElMessageBox.confirm(
                `确定要修改职位分类 "${positionName.value}" 吗？`,
                '修改确认',
                {
                  confirmButtonText: '确认修改',
                  cancelButtonText: '取消',
                  type: 'warning',
                }
              )
              .then(() => {
                // 用户点击确认，执行修改操作
                const formData = new FormData();
                formData.append('id', positionId.value);
                formData.append('name', positionName.value);

                axios.post('/ZWFLSZ/Upd', formData, {
                  headers: {
                    'Content-Type': 'multipart/form-data'
                  }
                })
                .then(res => {
                  console.info(res.data);
                  if (res.data.zhi > 0) {
                    ElementPlus.ElMessage.success('修改成功');
                    setTimeout(() => {
                      Ret();
                    }, 1500);
                  } else {
                    ElementPlus.ElMessage.error('修改失败，请重试');
                  }
                })
                .catch(err => {
                  console.error(err);
                  ElementPlus.ElMessage.error('修改失败，请重试');
                });
              })
              .catch(() => {
                // 用户点击取消，不执行任何操作
                ElementPlus.ElMessage.info('已取消修改');
              });
            };

            const Ret = () => {
              window.location.href = '/ZWFLSZ/Fan';
            };

            return {
              positionId,
              positionName,
              updatePosition,
              Ret
            }
          }
        });

        app.use(ElementPlus);
        app.mount('#app');
    </script>
</body>
</html>